Kerberos 简介
Hadoop可以利用kerberos认证机制来识别可靠的服务和节点。
Kerberos与Hadoop权限管理并不冲突,而是相辅相成。
Kerberos是一种网络认证协议,是可信赖的第三方认证服务。
常见的认证方式
对称加密:加密解密时使用相同的密钥,或是可以相互推算的密钥。
需要把加密的密钥告诉对方,对方才可以解密。比如 1314加密后是一生一世,需要把密钥给对方,才知道一生一世是1314。
非对称加密:需要一对密钥,可公开的为公钥,私有保护的为私钥。
A:有A私钥和A公钥 公钥可公开
如果要发送加密的东西,根据A公钥进行加密 A收到后会拿A私钥进行解密。
缺点:无法确定拿到的公钥是A公钥。
数字证书:就是选择双方信任的第三方所颁发的一个认证标识。
A:有A私钥和A公钥 公钥可公开
第三方将公钥给B 第三方用自己的私钥加密A的A公钥 将加密后的A公钥给B
B可以通过第三方的公钥将加密的A公钥解开,拿到后就可以给A通信了。
第三方就是证明了A就是A。
Kerberos 名词
Principal(安全个体): Kerberos成功认证的个体,有名字和口令
Ticket:向服务器证明自己的身份,包括标识、会话密、时间戳
KDC(key distribution center) :网络服务,提供ticket和临时会话密钥
KDC包含两个服务
AS (Authentication Server):认证服务器
TSG(Ticket Granting Server):许可证服务器
Kerberos 流程
Clienti证到KDC, KDC分发申请Ticket的权证称为TGT, TGT有时间限制,过期后需要重新向KDC获取。
Client与Server通信首先用TGT从KDC获得一个可以访问某一服务的Ticket, Ticket的颁发机构就是双方可信的KDC。
Client向Server提交Ticket, Server对Ticket进行解密,验证时间戳,验证成功后Client可以访问Server。
Kerberos 优点
安全可靠: Kerberos实现了双向认证。
性能高: Client获取到Ticket (Ticket未过期) ,可以直接与Servert进行认证而不需要KDC的参与。
支持HA高可用:成为被广泛接受的标准。支持不同平台进行操作。